from pathlib import Path
from docu_kit.runs.run import Run


class Window_Run(Run):
    def batch_replace_content(self, folder_path, old_word, new_word):
        """
        运行程序，批量替换文件夹内文件内容。

        Args:
            folder_path (str): 要处理的文件夹路径。
            old_word (str or list): 要替换的旧文本，可以是单个字符串或字符串列表。
            new_word (str or list): 替换后的新文本，可以是单个字符串或字符串列表。
        """
        self.logger.info("替换开始")

        def execute_func(file_path):
            file_path = Path(file_path)
            if file_path.suffix == ".docx" or file_path.suffix == ".doc":
                self.logger.info(f"替换文件{file_path}内容")
                self.replace_word_content(str(file_path), old_word, new_word)
            elif file_path.suffix == ".xlsx" or file_path.suffix == ".xls":
                self.logger.info(f"替换文件{file_path}内容")
                self.replace_excel_content(str(file_path), old_word, new_word)

        self.deep_search_folder(folder_path, execute_func)
        self.logger.info("替换完成")
